package com.jiajun.demo;

import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

class AddressDialog extends JDialog {
	JLabel label1 = new JLabel("Address");

	JLabel label2 = new JLabel("City");

	JLabel label3 = new JLabel("State");

	JLabel label4 = new JLabel("Zip Code");

	JTextField addressField = new JTextField();

	JTextField cityField = new JTextField();

	JTextField stateField = new JTextField();

	JTextField zipCodeField = new JTextField();

	String[] address = new String[4];

	public AddressDialog(Frame owner, boolean modal) {
		super(owner, modal);
		init();
	}

	private void init() {
		this.setTitle("Address Dialog");
		this.setLayout(new GridLayout(4, 2));
		this.add(label1);
		this.add(addressField);
		this.add(label2);
		this.add(cityField);
		this.add(label3);
		this.add(stateField);
		this.add(label4);
		this.add(zipCodeField);
	}

	public String[] getAddress() {
		address[0] = addressField.getText();

		address[1] = cityField.getText();
		address[2] = stateField.getText();
		address[3] = zipCodeField.getText();
		return address;
	}
}

class JDialogTest extends JFrame {
	AddressDialog dialog = new AddressDialog(this, false);

	public JDialogTest(String title) {
		super(title);
		init();
	}

	public JDialogTest() {
		super();
		init();

	}

	private void init() {
		this.getContentPane().setLayout(new FlowLayout());
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		final AddressDialog dialog = new AddressDialog(this, false);
		JButton button = new JButton("Show Dialog");
		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				dialog.setSize(250, 120);
				dialog.setVisible(true);
			}
		});
		this.getContentPane().add(button);
	}

	public static void main(String[] args) {
		JFrame.setDefaultLookAndFeelDecorated(true);
		JDialog.setDefaultLookAndFeelDecorated(true);
		JDialogTest frame = new JDialogTest();
		frame.pack();
		frame.setVisible(true);
	}
}
